import Toast from './Toast'
import Toast1 from './Toast1'
const obj = {}

obj.install = function(Vue) { // Vue.use 会自动调用这个方法， 并且把Vue传过来
     // 我们得想办法把Toast挂载到页面去
     // 这种方法不行， 因为在vue执行到这里Toast还是render函数，不是节点
    //  document.body.appendChild(Toast)


    // 挂载插件的两种方式
    // 1、以组件的方式进行挂载， 使用的时候以组件的方式使用
    // 注意：这种方式封装.vue的时候  传参使用props
    //  使用  <toast :message="mes" :isShow="true"></toast>
    Vue.component('toast', Toast) // 相当于是注册了一个全局组件


    // 2、以插件的方式进行挂载， 使用时用this.$toast1
    const toastConstrructor = Vue.extend(Toast1);
    const instance = new toastConstrructor();
    // 将实例挂载到自己创建的div上
    instance.$mount(document.createElement('div'));
    // 把div挂载到body种
    document.body.appendChild(instance.$el);
    // 前面一系列操作都是想把组件放到body中
    // 通过原型绑定组件对象
    Vue.prototype.$toast1 = Toast1


    // 两种注册插件的区别
    // 第二种方式会已注册就在页面生成一个toast， 后面都是隐藏和显示toast操作
    // 在调用的时候两种方式也不同
}

export default obj